package com.angel.acv.pojo;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ACvExpectationExample {
    protected String join;

    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ACvExpectationExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setJoin(String join) {
        this.join = join;
    }

    public String getJoin() {
        return join;
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andJoinWhere(String whereSql) {
            addCriterion(whereSql);
            return (Criteria) this;
        }

        public Criteria andIdIsNull() {
            addCriterion("a_cv_expectation.id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("a_cv_expectation.id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("a_cv_expectation.id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("a_cv_expectation.id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("a_cv_expectation.id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("a_cv_expectation.id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("a_cv_expectation.id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("a_cv_expectation.id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("a_cv_expectation.id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("a_cv_expectation.id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(String sql) {
            addCriterion("a_cv_expectation.id in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(String sql) {
            addCriterion("a_cv_expectation.id not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("a_cv_expectation.id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("a_cv_expectation.id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andUidIsNull() {
            addCriterion("a_cv_expectation.uid is null");
            return (Criteria) this;
        }

        public Criteria andUidIsNotNull() {
            addCriterion("a_cv_expectation.uid is not null");
            return (Criteria) this;
        }

        public Criteria andUidEqualTo(String value) {
            addCriterion("a_cv_expectation.uid =", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotEqualTo(String value) {
            addCriterion("a_cv_expectation.uid <>", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidGreaterThan(String value) {
            addCriterion("a_cv_expectation.uid >", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidGreaterThanOrEqualTo(String value) {
            addCriterion("a_cv_expectation.uid >=", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidLessThan(String value) {
            addCriterion("a_cv_expectation.uid <", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidLessThanOrEqualTo(String value) {
            addCriterion("a_cv_expectation.uid <=", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidLike(String value) {
            addCriterion("a_cv_expectation.uid like", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotLike(String value) {
            addCriterion("a_cv_expectation.uid not like", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidIn(List<String> values) {
            addCriterion("a_cv_expectation.uid in", values, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotIn(List<String> values) {
            addCriterion("a_cv_expectation.uid not in", values, "uid");
            return (Criteria) this;
        }

        public Criteria andUidIn(String sql) {
            addCriterion("a_cv_expectation.uid in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andUidNotIn(String sql) {
            addCriterion("a_cv_expectation.uid not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andUidBetween(String value1, String value2) {
            addCriterion("a_cv_expectation.uid between", value1, value2, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotBetween(String value1, String value2) {
            addCriterion("a_cv_expectation.uid not between", value1, value2, "uid");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("a_cv_expectation.create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("a_cv_expectation.create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("a_cv_expectation.create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("a_cv_expectation.create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("a_cv_expectation.create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("a_cv_expectation.create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("a_cv_expectation.create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("a_cv_expectation.create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("a_cv_expectation.create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("a_cv_expectation.create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(String sql) {
            addCriterion("a_cv_expectation.create_time in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(String sql) {
            addCriterion("a_cv_expectation.create_time not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("a_cv_expectation.create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("a_cv_expectation.create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("a_cv_expectation.update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("a_cv_expectation.update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("a_cv_expectation.update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("a_cv_expectation.update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("a_cv_expectation.update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("a_cv_expectation.update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("a_cv_expectation.update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("a_cv_expectation.update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("a_cv_expectation.update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("a_cv_expectation.update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(String sql) {
            addCriterion("a_cv_expectation.update_time in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(String sql) {
            addCriterion("a_cv_expectation.update_time not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("a_cv_expectation.update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("a_cv_expectation.update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andExpTradeIsNull() {
            addCriterion("a_cv_expectation.exp_trade is null");
            return (Criteria) this;
        }

        public Criteria andExpTradeIsNotNull() {
            addCriterion("a_cv_expectation.exp_trade is not null");
            return (Criteria) this;
        }

        public Criteria andExpTradeEqualTo(String value) {
            addCriterion("a_cv_expectation.exp_trade =", value, "expTrade");
            return (Criteria) this;
        }

        public Criteria andExpTradeNotEqualTo(String value) {
            addCriterion("a_cv_expectation.exp_trade <>", value, "expTrade");
            return (Criteria) this;
        }

        public Criteria andExpTradeGreaterThan(String value) {
            addCriterion("a_cv_expectation.exp_trade >", value, "expTrade");
            return (Criteria) this;
        }

        public Criteria andExpTradeGreaterThanOrEqualTo(String value) {
            addCriterion("a_cv_expectation.exp_trade >=", value, "expTrade");
            return (Criteria) this;
        }

        public Criteria andExpTradeLessThan(String value) {
            addCriterion("a_cv_expectation.exp_trade <", value, "expTrade");
            return (Criteria) this;
        }

        public Criteria andExpTradeLessThanOrEqualTo(String value) {
            addCriterion("a_cv_expectation.exp_trade <=", value, "expTrade");
            return (Criteria) this;
        }

        public Criteria andExpTradeLike(String value) {
            addCriterion("a_cv_expectation.exp_trade like", value, "expTrade");
            return (Criteria) this;
        }

        public Criteria andExpTradeNotLike(String value) {
            addCriterion("a_cv_expectation.exp_trade not like", value, "expTrade");
            return (Criteria) this;
        }

        public Criteria andExpTradeIn(List<String> values) {
            addCriterion("a_cv_expectation.exp_trade in", values, "expTrade");
            return (Criteria) this;
        }

        public Criteria andExpTradeNotIn(List<String> values) {
            addCriterion("a_cv_expectation.exp_trade not in", values, "expTrade");
            return (Criteria) this;
        }

        public Criteria andExpTradeIn(String sql) {
            addCriterion("a_cv_expectation.exp_trade in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpTradeNotIn(String sql) {
            addCriterion("a_cv_expectation.exp_trade not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpTradeBetween(String value1, String value2) {
            addCriterion("a_cv_expectation.exp_trade between", value1, value2, "expTrade");
            return (Criteria) this;
        }

        public Criteria andExpTradeNotBetween(String value1, String value2) {
            addCriterion("a_cv_expectation.exp_trade not between", value1, value2, "expTrade");
            return (Criteria) this;
        }

        public Criteria andExpFunctionIsNull() {
            addCriterion("a_cv_expectation.exp_function is null");
            return (Criteria) this;
        }

        public Criteria andExpFunctionIsNotNull() {
            addCriterion("a_cv_expectation.exp_function is not null");
            return (Criteria) this;
        }

        public Criteria andExpFunctionEqualTo(String value) {
            addCriterion("a_cv_expectation.exp_function =", value, "expFunction");
            return (Criteria) this;
        }

        public Criteria andExpFunctionNotEqualTo(String value) {
            addCriterion("a_cv_expectation.exp_function <>", value, "expFunction");
            return (Criteria) this;
        }

        public Criteria andExpFunctionGreaterThan(String value) {
            addCriterion("a_cv_expectation.exp_function >", value, "expFunction");
            return (Criteria) this;
        }

        public Criteria andExpFunctionGreaterThanOrEqualTo(String value) {
            addCriterion("a_cv_expectation.exp_function >=", value, "expFunction");
            return (Criteria) this;
        }

        public Criteria andExpFunctionLessThan(String value) {
            addCriterion("a_cv_expectation.exp_function <", value, "expFunction");
            return (Criteria) this;
        }

        public Criteria andExpFunctionLessThanOrEqualTo(String value) {
            addCriterion("a_cv_expectation.exp_function <=", value, "expFunction");
            return (Criteria) this;
        }

        public Criteria andExpFunctionLike(String value) {
            addCriterion("a_cv_expectation.exp_function like", value, "expFunction");
            return (Criteria) this;
        }

        public Criteria andExpFunctionNotLike(String value) {
            addCriterion("a_cv_expectation.exp_function not like", value, "expFunction");
            return (Criteria) this;
        }

        public Criteria andExpFunctionIn(List<String> values) {
            addCriterion("a_cv_expectation.exp_function in", values, "expFunction");
            return (Criteria) this;
        }

        public Criteria andExpFunctionNotIn(List<String> values) {
            addCriterion("a_cv_expectation.exp_function not in", values, "expFunction");
            return (Criteria) this;
        }

        public Criteria andExpFunctionIn(String sql) {
            addCriterion("a_cv_expectation.exp_function in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpFunctionNotIn(String sql) {
            addCriterion("a_cv_expectation.exp_function not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpFunctionBetween(String value1, String value2) {
            addCriterion("a_cv_expectation.exp_function between", value1, value2, "expFunction");
            return (Criteria) this;
        }

        public Criteria andExpFunctionNotBetween(String value1, String value2) {
            addCriterion("a_cv_expectation.exp_function not between", value1, value2, "expFunction");
            return (Criteria) this;
        }

        public Criteria andExpCityIsNull() {
            addCriterion("a_cv_expectation.exp_city is null");
            return (Criteria) this;
        }

        public Criteria andExpCityIsNotNull() {
            addCriterion("a_cv_expectation.exp_city is not null");
            return (Criteria) this;
        }

        public Criteria andExpCityEqualTo(String value) {
            addCriterion("a_cv_expectation.exp_city =", value, "expCity");
            return (Criteria) this;
        }

        public Criteria andExpCityNotEqualTo(String value) {
            addCriterion("a_cv_expectation.exp_city <>", value, "expCity");
            return (Criteria) this;
        }

        public Criteria andExpCityGreaterThan(String value) {
            addCriterion("a_cv_expectation.exp_city >", value, "expCity");
            return (Criteria) this;
        }

        public Criteria andExpCityGreaterThanOrEqualTo(String value) {
            addCriterion("a_cv_expectation.exp_city >=", value, "expCity");
            return (Criteria) this;
        }

        public Criteria andExpCityLessThan(String value) {
            addCriterion("a_cv_expectation.exp_city <", value, "expCity");
            return (Criteria) this;
        }

        public Criteria andExpCityLessThanOrEqualTo(String value) {
            addCriterion("a_cv_expectation.exp_city <=", value, "expCity");
            return (Criteria) this;
        }

        public Criteria andExpCityLike(String value) {
            addCriterion("a_cv_expectation.exp_city like", value, "expCity");
            return (Criteria) this;
        }

        public Criteria andExpCityNotLike(String value) {
            addCriterion("a_cv_expectation.exp_city not like", value, "expCity");
            return (Criteria) this;
        }

        public Criteria andExpCityIn(List<String> values) {
            addCriterion("a_cv_expectation.exp_city in", values, "expCity");
            return (Criteria) this;
        }

        public Criteria andExpCityNotIn(List<String> values) {
            addCriterion("a_cv_expectation.exp_city not in", values, "expCity");
            return (Criteria) this;
        }

        public Criteria andExpCityIn(String sql) {
            addCriterion("a_cv_expectation.exp_city in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpCityNotIn(String sql) {
            addCriterion("a_cv_expectation.exp_city not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpCityBetween(String value1, String value2) {
            addCriterion("a_cv_expectation.exp_city between", value1, value2, "expCity");
            return (Criteria) this;
        }

        public Criteria andExpCityNotBetween(String value1, String value2) {
            addCriterion("a_cv_expectation.exp_city not between", value1, value2, "expCity");
            return (Criteria) this;
        }

        public Criteria andExpLowsalaryIsNull() {
            addCriterion("a_cv_expectation.exp_lowSalary is null");
            return (Criteria) this;
        }

        public Criteria andExpLowsalaryIsNotNull() {
            addCriterion("a_cv_expectation.exp_lowSalary is not null");
            return (Criteria) this;
        }

        public Criteria andExpLowsalaryEqualTo(BigDecimal value) {
            addCriterion("a_cv_expectation.exp_lowSalary =", value, "expLowsalary");
            return (Criteria) this;
        }

        public Criteria andExpLowsalaryNotEqualTo(BigDecimal value) {
            addCriterion("a_cv_expectation.exp_lowSalary <>", value, "expLowsalary");
            return (Criteria) this;
        }

        public Criteria andExpLowsalaryGreaterThan(BigDecimal value) {
            addCriterion("a_cv_expectation.exp_lowSalary >", value, "expLowsalary");
            return (Criteria) this;
        }

        public Criteria andExpLowsalaryGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("a_cv_expectation.exp_lowSalary >=", value, "expLowsalary");
            return (Criteria) this;
        }

        public Criteria andExpLowsalaryLessThan(BigDecimal value) {
            addCriterion("a_cv_expectation.exp_lowSalary <", value, "expLowsalary");
            return (Criteria) this;
        }

        public Criteria andExpLowsalaryLessThanOrEqualTo(BigDecimal value) {
            addCriterion("a_cv_expectation.exp_lowSalary <=", value, "expLowsalary");
            return (Criteria) this;
        }

        public Criteria andExpLowsalaryIn(List<BigDecimal> values) {
            addCriterion("a_cv_expectation.exp_lowSalary in", values, "expLowsalary");
            return (Criteria) this;
        }

        public Criteria andExpLowsalaryNotIn(List<BigDecimal> values) {
            addCriterion("a_cv_expectation.exp_lowSalary not in", values, "expLowsalary");
            return (Criteria) this;
        }

        public Criteria andExpLowsalaryIn(String sql) {
            addCriterion("a_cv_expectation.exp_lowSalary in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpLowsalaryNotIn(String sql) {
            addCriterion("a_cv_expectation.exp_lowSalary not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpLowsalaryBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("a_cv_expectation.exp_lowSalary between", value1, value2, "expLowsalary");
            return (Criteria) this;
        }

        public Criteria andExpLowsalaryNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("a_cv_expectation.exp_lowSalary not between", value1, value2, "expLowsalary");
            return (Criteria) this;
        }

        public Criteria andExpTopsalaryIsNull() {
            addCriterion("a_cv_expectation.exp_topSalary is null");
            return (Criteria) this;
        }

        public Criteria andExpTopsalaryIsNotNull() {
            addCriterion("a_cv_expectation.exp_topSalary is not null");
            return (Criteria) this;
        }

        public Criteria andExpTopsalaryEqualTo(BigDecimal value) {
            addCriterion("a_cv_expectation.exp_topSalary =", value, "expTopsalary");
            return (Criteria) this;
        }

        public Criteria andExpTopsalaryNotEqualTo(BigDecimal value) {
            addCriterion("a_cv_expectation.exp_topSalary <>", value, "expTopsalary");
            return (Criteria) this;
        }

        public Criteria andExpTopsalaryGreaterThan(BigDecimal value) {
            addCriterion("a_cv_expectation.exp_topSalary >", value, "expTopsalary");
            return (Criteria) this;
        }

        public Criteria andExpTopsalaryGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("a_cv_expectation.exp_topSalary >=", value, "expTopsalary");
            return (Criteria) this;
        }

        public Criteria andExpTopsalaryLessThan(BigDecimal value) {
            addCriterion("a_cv_expectation.exp_topSalary <", value, "expTopsalary");
            return (Criteria) this;
        }

        public Criteria andExpTopsalaryLessThanOrEqualTo(BigDecimal value) {
            addCriterion("a_cv_expectation.exp_topSalary <=", value, "expTopsalary");
            return (Criteria) this;
        }

        public Criteria andExpTopsalaryIn(List<BigDecimal> values) {
            addCriterion("a_cv_expectation.exp_topSalary in", values, "expTopsalary");
            return (Criteria) this;
        }

        public Criteria andExpTopsalaryNotIn(List<BigDecimal> values) {
            addCriterion("a_cv_expectation.exp_topSalary not in", values, "expTopsalary");
            return (Criteria) this;
        }

        public Criteria andExpTopsalaryIn(String sql) {
            addCriterion("a_cv_expectation.exp_topSalary in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpTopsalaryNotIn(String sql) {
            addCriterion("a_cv_expectation.exp_topSalary not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpTopsalaryBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("a_cv_expectation.exp_topSalary between", value1, value2, "expTopsalary");
            return (Criteria) this;
        }

        public Criteria andExpTopsalaryNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("a_cv_expectation.exp_topSalary not between", value1, value2, "expTopsalary");
            return (Criteria) this;
        }

        public Criteria andCurSalaryIsNull() {
            addCriterion("a_cv_expectation.cur_Salary is null");
            return (Criteria) this;
        }

        public Criteria andCurSalaryIsNotNull() {
            addCriterion("a_cv_expectation.cur_Salary is not null");
            return (Criteria) this;
        }

        public Criteria andCurSalaryEqualTo(BigDecimal value) {
            addCriterion("a_cv_expectation.cur_Salary =", value, "curSalary");
            return (Criteria) this;
        }

        public Criteria andCurSalaryNotEqualTo(BigDecimal value) {
            addCriterion("a_cv_expectation.cur_Salary <>", value, "curSalary");
            return (Criteria) this;
        }

        public Criteria andCurSalaryGreaterThan(BigDecimal value) {
            addCriterion("a_cv_expectation.cur_Salary >", value, "curSalary");
            return (Criteria) this;
        }

        public Criteria andCurSalaryGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("a_cv_expectation.cur_Salary >=", value, "curSalary");
            return (Criteria) this;
        }

        public Criteria andCurSalaryLessThan(BigDecimal value) {
            addCriterion("a_cv_expectation.cur_Salary <", value, "curSalary");
            return (Criteria) this;
        }

        public Criteria andCurSalaryLessThanOrEqualTo(BigDecimal value) {
            addCriterion("a_cv_expectation.cur_Salary <=", value, "curSalary");
            return (Criteria) this;
        }

        public Criteria andCurSalaryIn(List<BigDecimal> values) {
            addCriterion("a_cv_expectation.cur_Salary in", values, "curSalary");
            return (Criteria) this;
        }

        public Criteria andCurSalaryNotIn(List<BigDecimal> values) {
            addCriterion("a_cv_expectation.cur_Salary not in", values, "curSalary");
            return (Criteria) this;
        }

        public Criteria andCurSalaryIn(String sql) {
            addCriterion("a_cv_expectation.cur_Salary in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andCurSalaryNotIn(String sql) {
            addCriterion("a_cv_expectation.cur_Salary not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andCurSalaryBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("a_cv_expectation.cur_Salary between", value1, value2, "curSalary");
            return (Criteria) this;
        }

        public Criteria andCurSalaryNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("a_cv_expectation.cur_Salary not between", value1, value2, "curSalary");
            return (Criteria) this;
        }

        public Criteria andJobStatusIsNull() {
            addCriterion("a_cv_expectation.job_status is null");
            return (Criteria) this;
        }

        public Criteria andJobStatusIsNotNull() {
            addCriterion("a_cv_expectation.job_status is not null");
            return (Criteria) this;
        }

        public Criteria andJobStatusEqualTo(String value) {
            addCriterion("a_cv_expectation.job_status =", value, "jobStatus");
            return (Criteria) this;
        }

        public Criteria andJobStatusNotEqualTo(String value) {
            addCriterion("a_cv_expectation.job_status <>", value, "jobStatus");
            return (Criteria) this;
        }

        public Criteria andJobStatusGreaterThan(String value) {
            addCriterion("a_cv_expectation.job_status >", value, "jobStatus");
            return (Criteria) this;
        }

        public Criteria andJobStatusGreaterThanOrEqualTo(String value) {
            addCriterion("a_cv_expectation.job_status >=", value, "jobStatus");
            return (Criteria) this;
        }

        public Criteria andJobStatusLessThan(String value) {
            addCriterion("a_cv_expectation.job_status <", value, "jobStatus");
            return (Criteria) this;
        }

        public Criteria andJobStatusLessThanOrEqualTo(String value) {
            addCriterion("a_cv_expectation.job_status <=", value, "jobStatus");
            return (Criteria) this;
        }

        public Criteria andJobStatusLike(String value) {
            addCriterion("a_cv_expectation.job_status like", value, "jobStatus");
            return (Criteria) this;
        }

        public Criteria andJobStatusNotLike(String value) {
            addCriterion("a_cv_expectation.job_status not like", value, "jobStatus");
            return (Criteria) this;
        }

        public Criteria andJobStatusIn(List<String> values) {
            addCriterion("a_cv_expectation.job_status in", values, "jobStatus");
            return (Criteria) this;
        }

        public Criteria andJobStatusNotIn(List<String> values) {
            addCriterion("a_cv_expectation.job_status not in", values, "jobStatus");
            return (Criteria) this;
        }

        public Criteria andJobStatusIn(String sql) {
            addCriterion("a_cv_expectation.job_status in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andJobStatusNotIn(String sql) {
            addCriterion("a_cv_expectation.job_status not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andJobStatusBetween(String value1, String value2) {
            addCriterion("a_cv_expectation.job_status between", value1, value2, "jobStatus");
            return (Criteria) this;
        }

        public Criteria andJobStatusNotBetween(String value1, String value2) {
            addCriterion("a_cv_expectation.job_status not between", value1, value2, "jobStatus");
            return (Criteria) this;
        }

        public Criteria andExpCompanyIsNull() {
            addCriterion("a_cv_expectation.exp_company is null");
            return (Criteria) this;
        }

        public Criteria andExpCompanyIsNotNull() {
            addCriterion("a_cv_expectation.exp_company is not null");
            return (Criteria) this;
        }

        public Criteria andExpCompanyEqualTo(String value) {
            addCriterion("a_cv_expectation.exp_company =", value, "expCompany");
            return (Criteria) this;
        }

        public Criteria andExpCompanyNotEqualTo(String value) {
            addCriterion("a_cv_expectation.exp_company <>", value, "expCompany");
            return (Criteria) this;
        }

        public Criteria andExpCompanyGreaterThan(String value) {
            addCriterion("a_cv_expectation.exp_company >", value, "expCompany");
            return (Criteria) this;
        }

        public Criteria andExpCompanyGreaterThanOrEqualTo(String value) {
            addCriterion("a_cv_expectation.exp_company >=", value, "expCompany");
            return (Criteria) this;
        }

        public Criteria andExpCompanyLessThan(String value) {
            addCriterion("a_cv_expectation.exp_company <", value, "expCompany");
            return (Criteria) this;
        }

        public Criteria andExpCompanyLessThanOrEqualTo(String value) {
            addCriterion("a_cv_expectation.exp_company <=", value, "expCompany");
            return (Criteria) this;
        }

        public Criteria andExpCompanyLike(String value) {
            addCriterion("a_cv_expectation.exp_company like", value, "expCompany");
            return (Criteria) this;
        }

        public Criteria andExpCompanyNotLike(String value) {
            addCriterion("a_cv_expectation.exp_company not like", value, "expCompany");
            return (Criteria) this;
        }

        public Criteria andExpCompanyIn(List<String> values) {
            addCriterion("a_cv_expectation.exp_company in", values, "expCompany");
            return (Criteria) this;
        }

        public Criteria andExpCompanyNotIn(List<String> values) {
            addCriterion("a_cv_expectation.exp_company not in", values, "expCompany");
            return (Criteria) this;
        }

        public Criteria andExpCompanyIn(String sql) {
            addCriterion("a_cv_expectation.exp_company in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpCompanyNotIn(String sql) {
            addCriterion("a_cv_expectation.exp_company not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpCompanyBetween(String value1, String value2) {
            addCriterion("a_cv_expectation.exp_company between", value1, value2, "expCompany");
            return (Criteria) this;
        }

        public Criteria andExpCompanyNotBetween(String value1, String value2) {
            addCriterion("a_cv_expectation.exp_company not between", value1, value2, "expCompany");
            return (Criteria) this;
        }

        public Criteria andExpTitleIsNull() {
            addCriterion("a_cv_expectation.exp_title is null");
            return (Criteria) this;
        }

        public Criteria andExpTitleIsNotNull() {
            addCriterion("a_cv_expectation.exp_title is not null");
            return (Criteria) this;
        }

        public Criteria andExpTitleEqualTo(String value) {
            addCriterion("a_cv_expectation.exp_title =", value, "expTitle");
            return (Criteria) this;
        }

        public Criteria andExpTitleNotEqualTo(String value) {
            addCriterion("a_cv_expectation.exp_title <>", value, "expTitle");
            return (Criteria) this;
        }

        public Criteria andExpTitleGreaterThan(String value) {
            addCriterion("a_cv_expectation.exp_title >", value, "expTitle");
            return (Criteria) this;
        }

        public Criteria andExpTitleGreaterThanOrEqualTo(String value) {
            addCriterion("a_cv_expectation.exp_title >=", value, "expTitle");
            return (Criteria) this;
        }

        public Criteria andExpTitleLessThan(String value) {
            addCriterion("a_cv_expectation.exp_title <", value, "expTitle");
            return (Criteria) this;
        }

        public Criteria andExpTitleLessThanOrEqualTo(String value) {
            addCriterion("a_cv_expectation.exp_title <=", value, "expTitle");
            return (Criteria) this;
        }

        public Criteria andExpTitleLike(String value) {
            addCriterion("a_cv_expectation.exp_title like", value, "expTitle");
            return (Criteria) this;
        }

        public Criteria andExpTitleNotLike(String value) {
            addCriterion("a_cv_expectation.exp_title not like", value, "expTitle");
            return (Criteria) this;
        }

        public Criteria andExpTitleIn(List<String> values) {
            addCriterion("a_cv_expectation.exp_title in", values, "expTitle");
            return (Criteria) this;
        }

        public Criteria andExpTitleNotIn(List<String> values) {
            addCriterion("a_cv_expectation.exp_title not in", values, "expTitle");
            return (Criteria) this;
        }

        public Criteria andExpTitleIn(String sql) {
            addCriterion("a_cv_expectation.exp_title in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpTitleNotIn(String sql) {
            addCriterion("a_cv_expectation.exp_title not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andExpTitleBetween(String value1, String value2) {
            addCriterion("a_cv_expectation.exp_title between", value1, value2, "expTitle");
            return (Criteria) this;
        }

        public Criteria andExpTitleNotBetween(String value1, String value2) {
            addCriterion("a_cv_expectation.exp_title not between", value1, value2, "expTitle");
            return (Criteria) this;
        }

        public Criteria andFlagIsNull() {
            addCriterion("a_cv_expectation.flag is null");
            return (Criteria) this;
        }

        public Criteria andFlagIsNotNull() {
            addCriterion("a_cv_expectation.flag is not null");
            return (Criteria) this;
        }

        public Criteria andFlagEqualTo(Integer value) {
            addCriterion("a_cv_expectation.flag =", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagNotEqualTo(Integer value) {
            addCriterion("a_cv_expectation.flag <>", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagGreaterThan(Integer value) {
            addCriterion("a_cv_expectation.flag >", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagGreaterThanOrEqualTo(Integer value) {
            addCriterion("a_cv_expectation.flag >=", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagLessThan(Integer value) {
            addCriterion("a_cv_expectation.flag <", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagLessThanOrEqualTo(Integer value) {
            addCriterion("a_cv_expectation.flag <=", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagIn(List<Integer> values) {
            addCriterion("a_cv_expectation.flag in", values, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagNotIn(List<Integer> values) {
            addCriterion("a_cv_expectation.flag not in", values, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagIn(String sql) {
            addCriterion("a_cv_expectation.flag in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andFlagNotIn(String sql) {
            addCriterion("a_cv_expectation.flag not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andFlagBetween(Integer value1, Integer value2) {
            addCriterion("a_cv_expectation.flag between", value1, value2, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagNotBetween(Integer value1, Integer value2) {
            addCriterion("a_cv_expectation.flag not between", value1, value2, "flag");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("a_cv_expectation.remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("a_cv_expectation.remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("a_cv_expectation.remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("a_cv_expectation.remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("a_cv_expectation.remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("a_cv_expectation.remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("a_cv_expectation.remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("a_cv_expectation.remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("a_cv_expectation.remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("a_cv_expectation.remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("a_cv_expectation.remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("a_cv_expectation.remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(String sql) {
            addCriterion("a_cv_expectation.remark in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(String sql) {
            addCriterion("a_cv_expectation.remark not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("a_cv_expectation.remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("a_cv_expectation.remark not between", value1, value2, "remark");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}